package com.casstime.ec.cloud.meeting.dao.mapper;

import com.casstime.ec.cloud.meeting.dao.entity.EntityBook;
import com.casstime.ec.cloud.meeting.dao.entity.example.EntityBookExample;
import com.casstime.ec.cloud.meeting.values.BookDetailQuery;
import com.casstime.ec.cloud.meeting.values.BookMeetingRoomParam;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface EntityBookMapper {
    long countByExample(EntityBookExample example);

    int deleteByExample(EntityBookExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(EntityBook record);

    int insertSelective(EntityBook record);

    List<EntityBook> selectByExample(EntityBookExample example);

    EntityBook selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") EntityBook record, @Param("example") EntityBookExample example);

    int updateByExample(@Param("record") EntityBook record, @Param("example") EntityBookExample example);

    int updateByPrimaryKeySelective(EntityBook record);

    int updateByPrimaryKey(EntityBook record);

    int batchInsert(@Param("list") List<EntityBook> list);

    int batchInsertSelective(@Param("list") List<EntityBook> list, @Param("selective") EntityBook.Column... selective);

    int upsert(EntityBook record);

    int upsertSelective(EntityBook record);


    List<EntityBook> getBookDetailByQuery(BookDetailQuery bookDetailQuery);


    List<EntityBook> selectCanBook(BookMeetingRoomParam bookMeetingRoomParam);

}